module speaker(
    input clk_1p536m,
    input rst_n,
    input signed [15:0] Ldata,
    input signed [15:0] Rdata,
    //pt8211接口
    output       HP_BCK   , //同clk_1p536m
    output       HP_WS    , //左右声道切换信号，低电平对应左声道
    output       HP_DIN   , //dac串行数据输入信号
    output       PA_EN      //音频功放使能，高电平有效
);
//1.使能信号
assign PA_EN = 1'b1;//PA常开
//2.数据请求用于轮询数据（左右声道依次进入）
reg signed [15:0] q_w;
reg addr_r;
always@(posedge clk_1p536m or negedge rst_n) begin
    if(!rst_n)
        addr_r <= 1'b0;
    else
        addr_r <= req_w?addr_r+1'b1:addr_r;
end
always@(*) begin
    if(!addr_r)
        q_w <= Ldata;
    else
        q_w <= Rdata;
end
//4.例化pt8211驱动模块
pt8211_drive u_pt8211_drive_0(
    .clk_1p536m(clk_1p536m),//bit时钟，每个采样点占32个clk_1p536m(左右声道各16)
    .rst_n     (rst_n),//低电平有效异步复位信号
    //用户数据接口
    .idata     (q_w),
    .req       (req_w),//数据请求信号，可接外部FIFO的读请求(为避免空读，尽量和!fifo_empty相与后作为fifo_rd)
    //pt8211接口
    .HP_BCK   (HP_BCK),//同clk_1p536m
    .HP_WS    (HP_WS),//左右声道切换信号，低电平对应左声道
    .HP_DIN   (HP_DIN)//dac串行数据输入信号
);

endmodule